<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promise封装Ajax操作</title>
</head>
<body>
    <div class="container">
        <h2 class="page-header">promise封装Ajax操作</h2>
        <button class="btn btn-primary" id="btn">点击发送 Ajax</button>
    </div>

    <script>
        // 接口地址 https://api.apiopen.top/getJoke
        const btn = document.querySelector('#btn');
        btn.addEventListener('click',function(){
            // 创建Promise对象
            const p = new Promise((resolve,reject)=>{
                const xhr = new XMLHttpRequest();
                xhr.open('GET','https://api.apiopen.top/getJoke');
                xhr.send();
                xhr.onreadystatechange = function(){
                    if(xhr.readyState===4){
                        if(xhr.status>=200 && xhr.status<300){
                            // console.log(xhr.response);
                            resolve(xhr.response);
                        }else{
                            // console.log(xhr.status);
                            reject(xhr.status);
                        }
                    }
                } 
            });
            p.then(value=>{
                console.log(value)
            },reason=>{
                console.warn(reason)})
        });
            
    </script>
</body>
</html>